//
//  RouterProtocol.swift
//  JCModule
//
//  Created by JC on 2023/3/16.
//

import Foundation
import UIKit

//MARK: - 模块协议
public protocol RouterMoudleProtocol {
    
    // 模块名称
    var module: RouterMoudleProtocol.Type { get }
    // 标识
    var scheme: RouterMoudleProtocol.Type { get }
    // 路由列表
    var pathDic: [String: UIViewController.Type] { get }
}

public extension RouterMoudleProtocol {
    
    /// 默认注册方法
    func registerPages() {
        /**
         通过该方法，将自定义模块中的 pathDic 注册（保存）到 MyRouter 单例中, 之后才可以通过路径查找对应的页面进行跳转
         */
        MyRouter.shared.registerModule(module, scheme: scheme, pathDic: pathDic)
    }
}
